home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1996 February
/
EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso
/
earcd
/
comm2
/
zpont311.lha
/
zpoint-3.11
/
Rexx
/
ZooLoge.ced
< prev
next >
Wrap
Text File
|
1995-03-09
|
7KB
|
154 lines
/******************************************************************************/
/* ZooLoge © Candid Böschen 1993 */
/* ======= */
/* */
/* Autor : Candid Böschen */
/* Z-Netz: C.BOESCHEN@INSIDER.ZER */
/* */
/* */
/* $VER: ZooLoge 0.9 © Candid Böschen (29.11.1993) */
/* */
/* -------------------------------------------------------------------------- */
/* ZooLoge ist ein ARexx-Script für CygnusEd. Es wertet das von ZPoint */
/* erstellte Logbuch aus. Auf Statistik habe ich verzichtet, ZooLoge gibt */
/* lediglich die angefallenen Einheiten und Gebühren aus. Billigtarif und */
/* Wochenende werden berücksichtigt. Vier Werte (zu Beginn des */
/* ARexx-Scripts) müssen an die jew. Gegebenheiten angepaßt werden. */
/* */
/* */
/* Für die Richtigkeit der ausgegebenen Daten gebe ich selbstverständlich */
/* keine Garantie. ZooLoge ist (bisher) quick and dirty. Zum Prüfen der */
/* Richtigkeit der Angaben habe ich einige okay1-Befehle im ARexx-Script */
/* vorgesehen. Die meisten sind auskommentiert und sollten bei Fehlern */
/* zur Hilfe genommen werden. Zu Beginn der Fehlersuche empfehle ich, den */
/* okay1-Befehl in der Funktion Tarif auszukommentieren. */
/* */
/* */
/* Falls Fehler auftreten sollten, bitte ich um Zusendung des rel. Logbuchs */
/* und Beschreibung des Fehlers. */
/* */
/* */
/* Bedienung: CygnusEd starten und das von ZPoint erstellte Logbuch laden. */
/* Anschließend das ARexx-Script starten. */
/* */
/* -HISTORY------------------------------------------------------------------ */
/* */
/* Datum: 29.11.1993, Version 0.9 */
/* */
/* Erste veröffentlichte (noch Beta) Version. */
/* */
/******************************************************************************/
/* Die folgenden vier Werte müssen angepaßt werden!!! */
SekuBillig = 720 /* hier die Sekunden für eine Billigtarif-Einheit eintragen */
SekuNormal = 360 /* hier die Sekunden für eine Normaltarif-Einheit eintragen */
NormBegin = 8 /* Uhr */ /* Beginn des Normaltarifs */
NormEnde = 18 /* Uhr */ /* Ende des Normaltarifs */
options results
address 'rexx_ced'
cr = '0A'X /* Zeilenvorschub für die Requester */
Einheiten = 0
GesEinheiten = 0
'Beg of File' /* An den Anfang der Datei springen */
'Mark location 1' /* Am Anfang suchen wir vom Beginn der Datei an */
do forever
call SucheNetcall()
/* okay2 "Abbrechen?"
if (result = 1) then
exit
end
*/
end
exit
SucheNetcall:
'Jump to mark 1' /* Zur aktuellen Marke springen */
"Search for 'Verbindung nach ' 0 0 1 0"
ergebnis = result
if ~(ergebnis = 1) then do
okay1 "Kein Netcall (mehr) gefunden!"||cr||cr||"Einheiten gesamt:"GesEinheiten||cr||"Kosten gesamt: "GesEinheiten * 0.23||" DM"
exit /* ARexx-Script abbrechen */
end
status 55 /* Inhalt der aktuellen Zeile */
zeile = result
'End of line'
'Mark location 1' /* Stelle merken, da geht's nachher weiter */
NZeit = WORD(zeile, 5) /* Hole die Netcall-Zeit */
/*okay1 "NZeit: "NZeit*/
call ZaehlEinheiten() /* Kosten für Netcall bestimmen */
return /* SucheNetcall */
ZaehlEinheiten: /* Kosten für Netcall bestimmen */
minuten = left(NZeit, lastpos(':', NZeit)-1)
/*okay1 "Minuten = "minuten*/
sekunden = right(NZeit, 2)
/*okay1 "Sekunden = "sekunden*/
sekunden = sekunden + minuten * 60
/*okay1 "Sekunden = "sekunden*/
call Tarif() /* Billig- oder Normaltarif? */
if (Tarif = billig) then
Einheiten = sekunden / SekuBillig
else
Einheiten = sekunden / SekuNormal
PointPos = pos('.', Einheiten)
if(PointPos ~= 0) then
Einheiten = left(Einheiten, PointPos-1) + 1
GesEinheiten = GesEinheiten + Einheiten
/* okay1 "Tarif = "Tarif||cr||"Sekunden =
"Sekunden||cr||"Einheiten =
"Einheiten||cr||"GesEinheiten = "GesEinheiten*/
return /* ZaehlEinheiten */
Tarif:
"Search for 'Netcall gestartet' 0 0 0 0"
ergebnis = result
if ~(ergebnis = 1) then do
okay1 "Kann Netcall-Tag nicht finden!"
exit /* ARexx-Script abbrechen */
end
Tarif=""
status 55 /* Inhalt der aktuellen Zeile */
zeile = result
if ((index(zeile, 'Saturday') = 0) & (index(zeile, 'Sunday') = 0)) then do
Time = WORD(zeile, 2) /* Zeit des Netcalls */
Stunde = left(Time, pos(':', Time)-1) /* Stunde des Netcalls */
if ((Stunde >= NormBegin) & (Stunde < NormEnde)) then
Tarif = normal
else
Tarif = billig
end
else
Tarif = billig /* Wochenende */
/*okay1 "Tarif = " Tarif*/
return /* Tarif */